---
title: "Модуль deckhouse"
search: releaseChannel, стабилизация релизного канала, автосмена канала обновлений
---

Этот модуль настраивает в Deckhouse:
- **[Уровень логирования](configuration.html#parameters-loglevel)**
- **[Набор модулей](configuration.html#parameters-bundle), включенных по умолчанию**

  Обычно используется набор модулей `Default`, который подходит в большинстве случаев.

  Независимо от используемого набора включенных по умолчанию модулей любой модуль может быть явно включен или выключен в конфигурации Deckhouse (подробнее [про включение и отключение модуля](../../#включение-и-отключение-модуля)).
- **[Канал обновлений](configuration.html#parameters-releasechannel)**

  В Deckhouse реализован механизм автоматического обновления. Этот механизм использует [5 каналов обновлений](../../deckhouse-release-channels.html), различающиеся стабильностью и частотой выхода версий. Ознакомьтесь подробнее с тем, [как работает механизм автоматического обновления](../../deckhouse-faq.html#как-работает-автоматическое-обновление-deckhouse) и [как установить желаемый канал обновлений](../../deckhouse-faq.html#как-установить-желаемый-канал-обновлений).
- **[Режим обновлений](configuration.html#parameters-update-mode)** и **[окна обновлений](configuration.html#parameters-update-windows)**

  Deckhouse может использовать **ручной** или **автоматический** режим обновлений.

  В ручном режиме обновлений автоматически применяются только важные исправления (patch-релизы), и для перехода на более свежий релиз Deckhouse требуется [ручное подтверждение](cr.html#deckhouserelease-v1alpha1-approved).

  В автоматическом режиме обновлений, если в кластере **не установлены** [окна обновлений](configuration.html#parameters-update-windows), переход на более свежий релиз Deckhouse осуществляется сразу после его появления на соответствующем канале обновлений. Если же в кластере **установлены** окна обновлений, переход на более свежий релиз Deckhouse начнется в ближайшее доступное окно обновлений после появления свежего релиза на соответствующем канале обновлений.
  
- **Сервис валидирования custom resource'ов**

  Сервис валидирования предотвращает создание custom resource'ов с некорректными данными или внесение таких данных в уже существующие custom resource'ы. Отслеживаются только custom resource'ы, находящиеся под управлением модулей Deckhouse.

### Обновление релизов Deckhouse

#### Просмотр статуса релизов Deckhouse

Список последних релизов в кластере можно получить командной `kubectl get deckhousereleases`. По умолчанию хранятся 10 последних релизов и все будущие.
Каждый релиз может иметь один из следующих статусов:
* `Pending` — релиз находится в ожидании, ждет окна обновления, настроек канареечного развертывания и т. д. Подробности можно увидеть с помощью команды `kubectl describe deckhouserelease $name`.
* `Deployed` — релиз применен. Это значит, что образ пода Deckhouse уже поменялся на новую версию,
 но при этом процесс обновления всех компонентов кластера идет асинхронно, так как зависит от многих настроек.
* `Superseded` — релиз устарел и больше не используется.
* `Suspended` — релиз был отменен (например, в нем обнаружилась ошибка). Релиз переходит в этот статус, если его отменили и при этом он еще был применен в кластере.

#### Процесс обновления

В момент перехода в статус `Deployed` релиз меняет версию (tag) образа Deckhouse. После запуска Deckhouse начнет проверку и обновление всех модулей, которые поменялись с предыдущего релиза. Длительность обновления сильно зависит от настроек и размера кластера.
Например, если у вас много `NodeGroup`, они будут обновляться продолжительное время, если много `IngressNginxController` — они будут
обновляться по одному и это тоже займет некоторое время.

#### Ручное применение релизов

Если у вас стоит [ручной режим обновления](usage.html#ручное-подтверждение-обновлений) и скопилось несколько релизов,
вы можете отметить их одобренными к применению все сразу. В таком случае Deckhouse будет обновляться последовательно, сохраняя порядок релизов и меняя статус каждого примененного релиза.

#### *Закрепление* релиза

*Закрепление* релиза нужно, если вы по какой-то причине не хотите обновлять Deckhouse.

Есть три варианта *закрепления* релиза:
- Установить [ручной режим обновления](usage.html#ручное-подтверждение-обновлений).
В этом случае вы остановитесь на текущем релизе, но будете получать patch-релизы, а minor-релиз не будет обновляться без явного одобрения.
  
  Например:
    текущий релиз `v1.29.3`, после установки ручного режима обновлений Deckhouse сможет обновиться до версии `v1.29.9`, но не будет обновляться на релиз `v1.30.0`.
- Установить конкретный тег для deployment/deckhouse. В таком случае Deckhouse останется на этом релизе до выхода следующего patch/minor-релиза.
Это может понадобиться, если в какой-то версии Deckhouse обнаружилась ошибка, которой не было раньше, и вы хотите откатиться на предыдущий релиз, но обновиться, как только выйдет релиз с исправлением данной ошибки.

  Например:
    `kubectl -n d8-system set image deployment/deckhouse deckhouse=registry.deckhouse.io/deckhouse/ee:v1.30.5`.
- Установить конкретный тег для deployment/deckhouse и удалить `releaseChannel` из конфигурации модуля `deckhouse`.
    В таком случае вы останетесь на конкретной версии Deckhouse и не будете получать обновлений.

  ```sh
  $ kubectl -n d8-system set image deployment/deckhouse deckhouse=registry.deckhouse.io/deckhouse/ee:v1.30.5
  $ kubectl edit mc deckhouse
    // удалить releaseChannel
  ```
